<?php
/**
 * 商品分类模型
 * @createtime 2015-09-05 18:29
 */
namespace Admin\Model;
use Think\Model;
class GoodsCateModel extends Model {
	
	protected $tableName = 'goods_category';
	
	/**
	 * 获取规格列表
	 * @return array
	 */
	public function getCateList($where=array(),$order='sort desc,id desc',$limit='') {
		if (!empty($where) && is_array($where)) {
			$this->where($where);
		}
		if (!empty($order) && is_string($order)) {
			$this->order($order);
		}
		if (!empty($limit) && (is_string($limit) || is_numeric($limit))) {
			$this->limit($limit);
		}
		return $this->select();
	}
	
	/**
	 * 获取分类数量
	 * @return array
	 */
	public function getCateNum($where = array()){
		if ($where && is_array($where)) {
			$this->where($where);
		}
		return $this->count();
	}
	
	/**
	 * 通过ID获取分类信息
	 * @param int $id 单页ID
	 * @return bool/array
	 */
	public function getCateById($id){
		if (empty($id) || !is_int($id)) {
			return false;
		}
		return $this->where(array('id'=>$id))->find();
	}
	
	/**
	 * 通过分类名获取分类信息信息
	 * @param string $name 规格名称
	 * @return bool/array
	 */
	public function getCateByName($name, $where = array()){
		if (empty($name) || !is_string($name)) {
			return false;
		}
		if (!empty($where) && !is_array($where)) {
			return false;
		}
		$where['name'] = $name;
		return $this->where($where)->find();
	}
	
	/**
	 * 通过分类别名获取分类信息信息
	 * @param string $alias 分类别名
	 * @return bool/array
	 */
	public function getCateByAlias($alias, $where = array()){
		if (empty($alias) || !is_string($alias)) {
			return false;
		}
		if (!empty($where) && !is_array($where)) {
			return false;
		}
		$where['alias'] = $alias;
		return $this->where($where)->find();
	}
	
	/**
	 * 检测是否有子分类
	 * @param int $cat_id 待检测分类ID
	 * @return bool
	 */
	public function hasSubCate($cat_id){
		if (!$cat_id || !is_int($cat_id)) {
			return false;
		}
		if ($this->where(array('parent_id'=>$cat_id))->count()) {
			return true;
		}
		return false;
	}
	
}